//
//  ViewController.m
//  LZCollectionView
//
//  Created by apple on 16/3/29.
//  Copyright © 2016年 m14a.cn. All rights reserved.
//

// 设置cell尺寸,不一样 -> 没有提供对应属性设置 -> 在原有基础上进行缩放
// 自定义流水布局

#import "ViewController.h"
#import "LZCollectionViewCell.h"
#import "FlowLayout.h"


#define LZScreenW [UIScreen mainScreen].bounds.size.width

@interface ViewController () <UICollectionViewDataSource>

@end

@implementation ViewController

static NSString *const ID = @"collect";

- (void)viewDidLoad {
    [super viewDidLoad];

    // 创建布局参数
    FlowLayout *layout = [self setupLayout];
    
    // 创建collectionView,颜色:绿色
    [self setupCollectionView:layout];
}

- (FlowLayout *)setupLayout
{
    // 1.创建UICollectionView对象
    // 1.1创建布局
    FlowLayout *flowL = [[FlowLayout alloc] init];
    // 1.1.1设置格子大小
    flowL.itemSize = CGSizeMake(180, 180);
    // 1.1.2设置最小行间距
    flowL.minimumLineSpacing = 50;
    // 1.1.3设置滚动方向
    flowL.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    // 1.1.4设置额外滚动区域
    CGFloat margin = (LZScreenW - 180) * 0.5;
    flowL.sectionInset = UIEdgeInsetsMake(0, margin, 0, margin);
    
    return flowL;
}

- (void)setupCollectionView:(FlowLayout *)layout
{
    UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
    // 1.2设置位置
    collectionView.center = self.view.center;
    // 1.3设置尺寸
    collectionView.bounds = CGRectMake(0, 0, LZScreenW, 200);
    // 1.4设置背景色
    collectionView.backgroundColor = [UIColor greenColor];
    // 1.5设置数据源
    collectionView.dataSource = self;
    
    // 2.添加上去
    [self.view addSubview:collectionView];
    // 3.注册方法
    [collectionView registerNib:[UINib nibWithNibName:NSStringFromClass([LZCollectionViewCell class]) bundle:nil] forCellWithReuseIdentifier:ID];
}

// 每组多少个格子
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 10;
}

// 每个格子显示什么内容
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    // 1.去缓存里面找
    LZCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
    
    // 2.赋值
    // 2.1获取图片名称
    NSString *imageName = [NSString stringWithFormat:@"%zd", indexPath.row + 1];
    cell.image = [UIImage imageNamed:imageName];
    
    // 3.返回
    return cell;
}
@end
